package com.ruoyi.merchant.service;

import java.util.List;
import com.ruoyi.merchant.domain.Shop;

/**
 * 店铺：存储店铺的基本信息Service接口
 * 
 * @author ruoyi
 * @date 2025-09-15
 */
public interface IShopService 
{
    void saveShopLocation(List<Shop> shops);

    List<Shop> selectShopByType(Integer typeId, Long userId, double radiusKm);

    List<Shop> searchShopsByName(String name);  // 搜索店铺

    public void syncShopsToEs();

    // 保存历史记录
    void saveSearchHistory(Long userId, String keyword);

    // 获取历史记录
    List<Object> getSearchHistory(Long userId);
    /**
     * 查询店铺：存储店铺的基本信息
     * 
     * @param id 店铺：存储店铺的基本信息主键
     * @return 店铺：存储店铺的基本信息
     */
    public Shop selectShopById(Integer id);

    /**
     * 查询店铺：存储店铺的基本信息列表
     * 
     * @param shop 店铺：存储店铺的基本信息
     * @return 店铺：存储店铺的基本信息集合
     */
    public List<Shop> selectShopList(Shop shop);

    /**
     * 新增店铺：存储店铺的基本信息
     * 
     * @param shop 店铺：存储店铺的基本信息
     * @return 结果
     */
    public int insertShop(Shop shop);

    /**
     * 修改店铺：存储店铺的基本信息
     * 
     * @param shop 店铺：存储店铺的基本信息
     * @return 结果
     */
    public int updateShop(Shop shop);

    /**
     * 批量删除店铺：存储店铺的基本信息
     * 
     * @param ids 需要删除的店铺：存储店铺的基本信息主键集合
     * @return 结果
     */
    public int deleteShopByIds(Integer[] ids);

    /**
     * 删除店铺：存储店铺的基本信息信息
     * 
     * @param id 店铺：存储店铺的基本信息主键
     * @return 结果
     */
    public int deleteShopById(Integer id);


    // 自定义添加商户
    public int addShop(Shop shop);


    public Shop getShopInfo(String userName);
}
